package com.iaz.tech.tools.ai.neuron.runtime;

import java.util.UUID;

import com.iaz.tech.tools.ai.neuron.ability.INeuronAbility;
import com.iaz.tech.tools.mq.IMessageSectionAbility;

/**
 * 执行的Runtime 
 */
public interface INeuronRuntimeAbility {
	/**
	 * 根据ClassName 获得神经元
	 * @param className
	 * @return
	 */
	INeuronAbility findByClassName(String className);
	
	/**
	 * 根据神经元名称获得神经元
	 * @param name
	 * @return
	 */
	INeuronAbility findByName(String name);
	
	/**
	 * 根据神经元UUID 获得神经元。
	 * @param id
	 * @return
	 */
	INeuronAbility findByUUID(UUID id);
	
	/**
	 * 发现Message MQ
	 * @return
	 */
	IMessageSectionAbility findMQ();
	
	/**
	 * 加载配置，用于配置文件
	 * @param path
	 */
	void load(String path);
	
}
